Call Setup Rule Examples
Below are configuration examples for using Call Setup Rules.
|
■
|
Example 1: This example configures the device to replace (manipulate) the incoming call's source number with a number retrieved from the AD by an LDAP query. The device queries the AD server for the attribute record, "telephoneNumber" whose value is the same as the received source number (e.g., "telephoneNumber =4064"). If such an Attribute exists, the device retrieves the number of the attribute record, "alternateNumber" and uses this number as the source number. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': LDAP-DC-CORP |
|
◆
|
'Request Key': ‘telephoneNumber=’ + param.call.src.user |
|
◆
|
'Attributes to Get': alternateNumber |
|
◆
|
'Row Role': Use Current Condition |
|
◆
|
'Condition': ldap.attr. alternateNumber exists |
|
◆
|
'Action Subject': param.call.src.user |
|
◆
|
'Action Value': ldap.attr. alternateNumber |
|
●
|
IP-to-IP Routing table: A single routing rule is assigned the Call Setup Rule Set ID. |
|
◆
|
(Index 1) 'Call Setup Rules Set ID': 1 |
|
■
|
Example 2: This example configures the device to replace (manipulate) the incoming call's calling name (caller ID) with a name retrieved from the AD by an LDAP query. The device queries the AD server for the attribute record, "telephoneNumber" whose value is the same as the received source number (e.g., "telephoneNumber =5098"). If such an attribute is found, the device retrieves the name from the attribute record, "displayName" and uses this as the calling name in the incoming call. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': LDAP-DC-CORP |
|
◆
|
'Request Key': ‘telephoneNumber=’ + param.call.src.user |
|
◆
|
'Attributes to Get': displayName |
|
◆
|
'Row Role': Use Current Condition |
|
◆
|
'Condition': ldap.attr. displayName exists |
|
◆
|
'Action Subject': param.call.src.name |
|
◆
|
'Action Value': ldap.attr. displayName |
|
●
|
IP-to-IP Routing table: A single routing rule is assigned the Call Setup Rule Set ID. |
|
◆
|
(Index 1) 'Call Setup Rules Set ID': 2 |
|
■
|
Example 3: This example configures the device to route the incoming call according to whether or not the source number of the incoming call also exists in the AD server. The device queries the AD server for the attribute record, "telephoneNumber" whose value is the same as the received source number (e.g., telephoneNumber=4064"). If such an attribute is found, the device sends the call to Skype for Business; if the query fails, the device sends the call to the PBX. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': LDAP-DC-CORP |
|
◆
|
'Request Key': ‘telephoneNumber=’ + param.call.src.user |
|
◆
|
'Attributes to Get': telephoneNumber |
|
◆
|
'Row Role': Use Current Condition |
|
◆
|
'Condition': ldap.found !exists |
If the attribute record is found (i.e., condition is not met), the rule ends with a default exit result of true and uses the first routing rule (Skype for Business). If the attribute record does not exist (i.e., condition is met), the rule exits with a "false" result and uses the second routing rule (PBX).
|
●
|
IP-to-IP Routing table: Two routing rules are assigned with the same matching characteristics. Only the main routing rule is assigned a Call Setup Rules Set ID. |
|
◆
|
'Call Setup Rules Set ID': 3 |
|
◆
|
'Destination IP Group ID': 3 (IP Group for Skype for Business) |
|
◆
|
'Destination IP Group ID': 4 (IP Group of PBX) |
|
■
|
Example 4: This example uses the msRTCSIP-DeploymentLocator AD attribute to determine if a user has migrated to Teams or not. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': LDAP-DC-CORP |
|
◆
|
'Request Key': '(&(msRTCSIP-DeploymentLocator=SRV:)(msRTCSIP-Line=tel:'+param.call.dst.user+'*))' |
|
◆
|
'Attributes to Get': msRTCSIP-DeploymentLocator |
|
◆
|
'Row Role': Use Current Condition |
|
◆
|
'Condition': ldap.attr.msRTCSIP-DeploymentLocator !exists |
|
●
|
IP-to-IP Routing table: A single routing rule is assigned the Call Setup Rule Set ID. |
|
◆
|
(Index 1) 'Call Setup Rules Set ID': 1 |
|
■
|
Example 5: This example enables routing based on LDAP queries and destination tags. The device queries the LDAP server for the attribute record "telephoneNumber" whose value is the destination number of the incoming call (e.g., "telephoneNumber=4064"). If the attribute-value combination is found, the device retrieves the string value of the attribute record "ofiSBCRouting" and creates a destination tag with the name of the retrieved string. The destination tag is then used as a matching characteristics in the IP-to-IP Routing table. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': LDAP-DC-CORP |
|
◆
|
'Request Key': 'telephoneNumber='+param.call.dst.user |
|
◆
|
'Attributes to Get': ofiSBCRouting |
|
◆
|
'Row Role': Use Current Condition |
|
◆
|
'Condition': ldap.found exists |
|
◆
|
'Action Subject': dsttags |
|
◆
|
'Action Value': ldap.attr.ofiSBCrouting |
|
●
|
IP Groups table: 'Call Setup Rules Set ID': 4 |
|
●
|
IP-to-IP Routing table:
|
|
◆
|
'Destination Tag': dep-sales |
|
◆
|
'Destination IP Group': SALES |
|
◆
|
'Destination Tag': dep-mkt |
|
◆
|
'Destination IP Group': MKT |
|
◆
|
'Destination Tag': dep-rd |
|
◆
|
'Destination IP Group': RD |
|
■
|
Example 6: This example configures the device to perform an ENUM query with an ENUM server to retrieve a SIP URI address for the called E.164 telephone number. The device then replaces (manipulates) the incoming call's E.164 destination number in the SIP Request-URI header with the URI retrieved from the ENUM server. The ENUM server's address is the address configured in the 'Primary DNS' parameter for the "ITSP-450" IP Interface in the IP Interfaces table. |
|
●
|
Call Setup Rules table:
|
|
◆
|
'Request Target': ITSP-450 |
|
◆
|
'Request Key': param.call.dst.user |
|
◆
|
'Condition': enum.found exists |
|
◆
|
'Action Subject': header.request-uri.url |
|
◆
|
'Action Value': enum.result.url |
|
◆
|
'Call Setup Rules Set ID': 4 |